package mb;

import ejb.ClienteFacade;
import entity.Cliente;
import entity.TarjetaCredito;
import java.io.Serializable;
import java.util.Date;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;

/**
 *
 * @author owaspvm
 */
@ManagedBean(name = "ingresoMB")
@RequestScoped
public class IngresoMB implements Serializable {

    @EJB
    private ClienteFacade clienteFacade;
    ////////
    private String nombres;
    private String apellidos;
    private String documento;
    private String ciudad;
    private String pais;
    private String email;
    private String password;
    private Integer numeroTarjeta;
    private String franquicia;
    private Date vencimiento;

    protected void init() {
        System.out.println("Inicializa!");
    }

    public String login() {
        
        Cliente cliente = clienteFacade.buscarPorEmail(email);
        cliente.setLogeado(true);
        clienteFacade.edit(cliente);
        
        return "index?faces-redirect=true";
    }
    
    public String registrarUsuario() {
        Cliente cliente = new Cliente(1);
        TarjetaCredito tarjetaCredito = new TarjetaCredito(numeroTarjeta);

        cliente.getTarjetaCreditoCollection().add(tarjetaCredito);
        cliente.setNombres(nombres);
        cliente.setApellidos(apellidos);
        cliente.setDocumento(documento);
        cliente.setCiudad(ciudad);
        cliente.setPais(pais);
        cliente.setEmail(email);
        cliente.setPassword(password);

        tarjetaCredito.setClienteIdCliente(cliente);
        tarjetaCredito.setFranquicia(franquicia);
        tarjetaCredito.setVencimiento(new Date());

        clienteFacade.create(cliente);

        return "index?faces-redirect=true";
    }

    public String getApellidos() {
        return apellidos;
    }

    public void setApellidos(String apellidos) {
        this.apellidos = apellidos;
    }

    public String getCiudad() {
        return ciudad;
    }

    public void setCiudad(String ciudad) {
        this.ciudad = ciudad;
    }

    public ClienteFacade getClienteFacade() {
        return clienteFacade;
    }

    public void setClienteFacade(ClienteFacade clienteFacade) {
        this.clienteFacade = clienteFacade;
    }

    public String getDocumento() {
        return documento;
    }

    public void setDocumento(String documento) {
        this.documento = documento;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getFranquicia() {
        return franquicia;
    }

    public void setFranquicia(String franquicia) {
        this.franquicia = franquicia;
    }

    public String getNombres() {
        return nombres;
    }

    public void setNombres(String nombres) {
        this.nombres = nombres;
    }

    public Integer getNumeroTarjeta() {
        return numeroTarjeta;
    }

    public void setNumeroTarjeta(Integer numeroTarjeta) {
        this.numeroTarjeta = numeroTarjeta;
    }

    public String getPais() {
        return pais;
    }

    public void setPais(String pais) {
        this.pais = pais;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public Date getVencimiento() {
        return vencimiento;
    }

    public void setVencimiento(Date vencimiento) {
        this.vencimiento = vencimiento;
    }
}
